package com.mjf.system.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.mjf.system.domain.BalanceRecord;
import com.mjf.system.service.vo.BalanceJurVO;
import com.mjf.system.service.vo.CblrfxVO;
import com.mjf.system.service.vo.XmsrmxReqVO;
import com.mjf.system.service.vo.XmsrmxVO;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * desc
 * </p>
 *
 * @author chenshoumeng
 * @date 2025/4/13 17:58
 */
public interface IBalanceRecordService extends IService<BalanceRecord> {


    /**
     * 查询余额记录
     *
     * @param page
     * @param size
     * @param accountingperiod
     * @return
     */
    IPage<BalanceRecord> getBalanceRecordList(Integer page, Integer size, String accountingperiod);

    /**
     * 计算期初余额
     * @param balanceJurVO
     */
    void jur(BalanceJurVO balanceJurVO);


    /**
     * 查询成本利润分析
     * @return
     */
    List<CblrfxVO> getCblrfxList(List<String> accountingperiods);

    /**
     * 查询项目收入明细
     * @param vo
     * @return
     */
    Map<String, Object> getXmsrmxList(XmsrmxReqVO vo);

    /**
        查询项目收入汇总
     */
    Map<String, Object> getXmsrhzList(XmsrmxReqVO vo);

    /**
     * 项目收入明细账计算
     * @param vo
     */
    void jurMx(XmsrmxReqVO vo);
}
